PtokaX DC hub software - Ptaczek/Frontline3k/aMutex (c) 2oo2
------------------------------------------------------------

v0.326 TestDrive3
- fixed problem with lua user:TempBan()


v0.326 TestDrive2
- fixed problem with slot checker


v0.326 TestDrive1
- added:
    Languagefiles got a refresh
	Languages: 	- german (aMutex)
			- italian (PopsLutor and Lothariel)
			- french (bolamix and Echo)
			- swedish (bastsweden, sebastiannielsen)
			- norwegian (LeviataN)
			- finnish (MadBeezzz)
			- hungarian (a1s and dentro)
			- danish (JenZen and Ratcom_Owner)
			- latvian (XericsX)
			- spanish (poweroperator)
			- dutch (FlipDeluXe)
    - Userstat in Access (users.mdb) now
	- commands: !userinfo <name> and !ipinfo <IP> and !iprangeinfo 187.242
	- Userstat NEEDS to be enabled when ptokax starts up to work properly!!!
    - LUA-Functions added:
	- GetMinShare()  ... returns the minshare in bytes
	- SetMinShare(amount, unit) ... set the minshare (unit: 0=byte, 1=KByte,2=MByte, 3=GByte)
	- GetCurrentShareAmount() ... returns te total share of all users at the moment
	- GetOpChatName() ... returns the name of the OpChat-Bot
	- GetHubBotName() ... returns te name of the HubBot
	- user:TempBan() ... bans temporary without kick-message
    - Preparation for Multihub/Remote administration (still in progress)
- changed: "Show Userstatisics" to "Clear Userstatistics" on Advanced page
- added command: !MHban ip/nick ... bans someone on the whole network

- added:
  new LUA functions for working with profiles:
    AddProfile(profile_name, profile_data)
    RemoveProfile(profile_name)
    GetProfileIdx(profile_name)
    GetProfileName(profile_idx)
    GetProfiles()
    GetUsersByProfile(profile_name)
  changed:
    AddRegUser(nick,pass,profile) is now global function. No preceeding frmHub is needed
    DelRegUser(nick)              is now global function. No preceeding frmHub is needed

- commands added:
    !addreguser - adds new registered user with specified password and profile
    !delreguser - removes registered user
- added commandline parameters
    /notray - dissables systray icon
    /autostart - enables the autostart option
    /noautostart - disables the autostart option
- added 'Enable tray icon' to Advanced page
- fixed few minor bugs in profile manager


v0.325 AshCan pre-release
- implemented ProfileManager (no lua support yet)
  changes in 'Rules and bots' gui
- added !clrtempban and !clrpermban
- publiclist.no-ip.com removed from core
- added new dialog for adding/editing user's properties (doubleclick on registered user)
- per-user logon timer replaced with better time checking algo.
- batched command queue - less cpu usage


v0.324 IceCube III Fix 3
- fixed: problem with new DC++ tag recognition
- added: PtokaX Quit confirmation


v0.324 IceCube III fix 2
- fixed: problem with return value in lua DataArrival


v0.324 IceCube III
- fixed: parial IP banning issue
- fixed: no duplicate nicks! Two nicks with variable case are considering as same
  (Ex.: PtaCzEk is the same as ptaczek)
- fixed: dead and 0-share users are now cleared from nicklist correctly
- fixed: *** Your nick is already taken message after reconnect
- added: buffer overflow counter - If the 'Keep slow users online' is turned on,
	 every user is allowed to 3times overflow his sendbuf. Then he is disconnected
- added: user:Kick(reason) and user:Kick(kicker, reason) to LUA
- added: return value for DataArrival in LUA.
	 return 1 to stop processing the data by the hub,
	 return 0 or no return at all to let the hub process the data.
- added: UL/DL counters are written into error.log at serving stop.
- changed: MOTD is sent after full log in of certain user.
           That means it's not sent i.e. when the hub is full or if the user is banned
- changed: Redirect messages are now sent only to OPs via PM in form
           <Hub-Security> _Nick_ redirected to _address_ by _operator_
- changed: CPS flood protection and user statistics are dissabled for this release.

Languages added:

  Latvian by Piglja
  Spanish by Poweroperator

Thanks:
- Thanx to Arnetheduck for simplification of my concept of DataArrival return values
  and for few clever insights about lua scripting subsystem
- Thanx to aMutex for additional insights about lua scripting subsystem
- Thanx to TIC35 hub for incredible patience with testing of all buggy versions, especialy to Iceman
- Thanx to all others who participate on this project! You are COOL! ;)



v0.324 IceCube II (non-public release)


v0.324 IceCube
- fixed: problems with NMDC connecting on big hubs
- fixed: hopefully fixed problem with 0-share hanged nicks in userlist
- fixed: ip subnet ban with wildcards (ex.: 111.222.* or 111.222.33.*)
         btw: 111.*.33.44 is NOT possible
- fixed: IPMF (Intelligent Pm Frequency Measuring) is now tweaked a little
         I hope it will get rid of PM spammers but keep innocents on the hub
- added: The LUA memory monitor is back

Thanx to [DK][TIC]Icemand for quick test.


v0.324 Test3
- fixed: several crashes
- fixed: totalShare counter issue ;)
- fixed: several crashes again
- fixed: User Statistics is working now 
-  chng: the old good network core is back
- added: DoubleClick on permBan list to manualy add Nick or IP to ban list.
- added: partial IP bans (ex. 192.80.80. will ban all IPs started with this prefix)
- added: IPFM - an Intelligent Pm Frequency Measuring for better security on PM spam attacks (experimental)
- added: !gag nickname   and   !ungag nickname ..... the famous silence-function (user is no longer able to post to mainchat)
- added: LUA: function ClearTempBan() .... Clears all tempban-entries

Dutch language file provided by Peter Wieringa


v0.324 Test2
a bugfix of the bugfix ;)


v0.324 Test1
- fixed: directory changing in LUA. All paths in scripts are now relative to scripts\ directory
- fixed: reasonless kicking for flooding
- fixed: bugs in slotchecker - the additional slot check should works fine now
-  chng: new network core (experimental). Should be faster than the old one based on borland components
-  chng: built-in commands change (thanx to frontline3k):
	 !ban <nick> (<reason>) - permanently ban IP address of the <nick>, followed by kick. Reason is optional.
	 !banip <IP> - permanently ban IP address
	 !nickban <nick> - ban user's nick (if user is connected then he is kicked)
- added: multiple hublist registration (ex.: vandel405.dynip.com;dreamland.gotdns.org)
- added: realtime user statistics (ask aMutex for details)

Note!
This is just extended bugfix with some new features. There can be new bugs!
Also the old bugs can not be fixed properly. Please test whatever you can and let me know. Thanx.


v0.323 Test2B
- fixed: public hublist misspeling bug which caused GLO search to crash
	 and probably failed registration of hubs running on other port than 411.
	 Thanx to aDe.


v0.323 Test2
- fixed: incorrect detection of slot number for NMDC
- fixed: script methods SendToOps and SendPmToOps now works for NMDC
- fixed: !unban issue
- fixed: Unsent data are now sent before disconnect
- changed: Script editor with resizable panes. Filelist not working yet
- changed: SendToAll, user:SendData. See Scripting.txt
- changed: WebStats now accepts xml as templates
- added: <--PTOKAXVERSION--> and <--HUBUPTIME--> tags for WebStats
- added: Memory monitor for scripts
- added: user:Ban()
	 user:NickBan()
	 Unban(what)
	 DisconnectByName(nick)
	 GetItemByName(nick),
	 SendPmToAll(from, data),
	 See Scripting.txt for details

- added: language files
	 Saverio Motta - Italian
	 Vodka 	       - Spanish and Galician
	 Balde Edward  - Russian
	 LeviataN      - Norwegian

[ if I forgot somebody, just scream! ;) ]


v0.323 Test1
- added: "Keep slow clients online" to keep users that can't handle the traffic online
         by clearing the senduffer.
- fixed: hopefully fixed the public hublist registration problems.
- fixed: OpChat now works for NMDC too
- fixed: SendPmToOps and SendToOps un lua now works for NMDC too


v0.322 PF'2003 edition
- added: new methods and events to scripting API (more in Scripting.txt)
- added: !nickban, !drop
         The Permanent Ban list is now a mixed mode. Can contain IP or nicks.
	 As such it acts as global banlist for IP's and Nicks
         !unban command now accepts banned IP or nick as a parameter
- added: SlotCheck for NMDC users + additional check for DC++ users
- added: Temban cleaning
- forum: a temporary LUA scripting forum up on http://mitglied.lycos.de/amutex/wbboard/

Language files by (in no particular order):
    Stimorol - swedish
    aMutex   - german
    Maicom   - finnish
    Dazzle  - french
    Ptaczek  - czech

======================== Happy New Year to everybody =========================

v0.321 pre-release
- fixed: scritps loading issues
- fixed: CPS flood protection bug
- fixed: <--CHATLINE0--> in webstat live chat preview
- added: Timers for LUA
- added: Multilanguage support
- change: LUA 4.0 replaced with LUA 4.01


v0.320 X-Mass edition
- added: scripting (read the Scripting.txt)
- added: regular expressions nickname checker
- added: live web statistics with live chat (read the Webserver.txt)
- added: adjustable flood protection (CPS)
- added: redirect all button
- added: max users limit changeable even during serving
- fixed: problems with looong messages - no crashes anymore
- fixed: problem with anonymous chatting
- sizeable application windows *grin*
- userlimit changeable even during serving

- remember that this is huge update and as such it can be buggy in some way.
  Test it and let us know :)

Also welcome new member of our team aMutex


v0.315 [NeonBlue] RC1
- added: mass message
- added: redirect for lowshare users (redirect address is taken from RedirectAddress in network settings)
- added: improved userInfo for hubadmin (dblClick on user in hub's userlist)
- fixed: anyone was able to write to OpChat
- fixed: MyInfo is now not sended to others if there is no change
- several tune-ups to the core


v0.315 pre-release
*******************************************************************************
PRE-RELEASE OF UPCOMMING 0.315 NeonBlue
THIS VERSION IS RELEASED TO SOLVE THE PROBLEM WITH PUBLIC HUBLIST REGISTRATION!
*******************************************************************************
- added: OpChat bot (also known as multichat)
- fixed: problems with neomodus public hublist registration
- fixed: problem with registered users
- changed: !ban,!unban commands now works with IP addresses instead of nicks
- added: !getinfo command to get IP of specified nick


v0.314 NeonBlue
- added: Min.Slot checker (frontline3k)
- changed: old Min.Slot checker is now Min slots/hub ratio checker (frontline3k)
- fixed: bug in public hublist registration (thanx to Simon)
- fixed: another small bug in hash manager (CheckNick - ptaczek)

ATTENTION! Due to changes in SlotChecker you have to reconfigure hub's slot checking values.


v0.313 Neon
- added: Min.Slots checker
- added: Max.Hubs checker
- added: user agent detector (operates on different port)
- added: global permissions (optional deny of DC++, NMDC, cloacked DC++)
- added: botname
- fixed: small bugs in hash manager (Find, Delete)


v0.299b Neon (Beta test)
THIS IS BETA TEST VERSION - USE ON OWN RISK !
- another bugfix :/


v0.299 Neon (Beta test)
THIS IS BETA TEST VERSION - USE ON OWN RISK !
- added: hashed userManager table for better internal processing
- added: operators can connect to full hub
- changed: sendBuffer size increased to 64kB
- fixed: small problems with memory allocation


v0.221 Neon (Beta test)
THIS IS BETA TEST VERSION - USE ON OWN RISK !
- rewritten user manager
- rewritten nicklist handling
- network core optimised for high performance (500+ users)


v0.203f Xenon
- fixed passive search issue for old nmdc client (thanx to frontline3k)
- fixed AutoStart issue (thanx to frontline3k too ;) )


v0.203e Xenon
- added Hub Autostart
- added Hub Stop


v0.203e
- fixed: hub lock-up if somebody sent message longer than 1024 bytes (thanx to PPK)
- fixed: data was incorrectly pumped to winsock which caused data loss
- added: maximum SendBuffer size is 16Kb.
  If anybody exceeds this size (i.e. due to slow connection) then he/she is disconnected.
- OpPlus extension added by PPK
- fixed: backward compatibility with NMDC client


v0.203
- fixed: Access violation error caused by improper pointer arithmetic
- fixed: Anybody can send others MyINFO! Thanx to big_dave
- fixed: NMDC users cannot see the logon message. Thanx to iCe-Rapto
- added: redirections


v0.202
- from now PtokaX is totaly ICS free.
- completly rewritten network core (no more ICS)
- fixed: memory leaks solved
- fixed: client objects are now correctly freed
- readded 60secs login timeout.
- added: new error handling for defected sockets
- additional optimizations
- chng: chat message max.length = 250 characters
- chng: private message max.length = 350 characters
- added: now you can turn off the chat tracing as well as commands tracing
- added: public hublist registration
- small visula changes in gui